// pages/Registry/Registry.js


import Toast from '@vant/weapp/toast/toast';
Page({

  /**
   * 页面的初始数据
   */
  data: {
    username: "",
    pw1: "",
    pw2: "",
    emil: "",
    emilcode: ""
  },


  inpname: function (e) {
    this.setData({
      username: e.detail.value
    })
  },
  inp1: function (e) {
    this.setData({
      pw1: e.detail.value
    })
  },
  inp2: function (e) {
    this.setData({
      pw2: e.detail.value
    })
  },


  // 确认注册
  regBtntest: function () {
    console.log("注册", this.data.username,
      this.data.pw1, this.data.pw2, this.data.emil, this.data.emilcode);
  },


  // 确认注册逻辑
  regBtn: function () {
    const nameyes = this.YesNo(this.data.username)
    const passyes = this.YesNo(this.data.pw1)
    if (!nameyes || !passyes) {
      wx.showToast({
        title: "账号或者密码只能含有字母、数字！", // 提示信息
        icon: 'none', // 图标类型，可以是 'success', 'loading', 'none'
        duration: 2000 // 提示的延迟时间（毫秒）
      });
    } else if (this.data.pw1 !== this.data.pw2) {
      wx.showToast({
        title: "两次密码不一致！", // 提示信息
        icon: 'none', // 图标类型，可以是 'success', 'loading', 'none'
        duration: 2000 // 提示的延迟时间（毫秒）
      });
    } else {
      wx.request({
        url: 'http://localhost:3000/login/user', // 请求的接口地址
        method: 'POST', // 请求方式，可以是 GET/POST 等
        data: { // 请求参数
          username: this.data.username,
          password: this.data.pw1,
          eMailcode: this.data.emil,
          eMloginCode: this.data.emilcode
        },
        // header: {
        //   'content-type': 'application/json' // 设置请求的 header
        // },
        success(res) {
          console.log(res.data); // 请求成功后的处理
          if (res.data.Enrollcode == 1) {
            Toast.success('注册成功！请登录');
            setTimeout(() => {
              wx.navigateBack();
            }, 1000)
          } else {
            Toast.fail(res.data.error);
          }

        },
        fail(err) {
          wx.showToast({
            title: "请求出错", // 提示信息
            icon: 'none', // 图标类型，可以是 'success', 'loading', 'none'
            duration: 2000 // 提示的延迟时间（毫秒）
          });
          console.error('请求失败:', err); // 请求失败后的处理
        }
      });

    }




  },


  // 校验非法账号方法

  YesNo: function (str) {
    // 正则表达式解释：
    // ^[a-zA-Z0-9\u4e00-\u9fa5]+$：
    // - ^ 表示字符串的开始
    // - [a-zA-Z0-9\u4e00-\u9fa5] 表示匹配字母、数字和中文字符
    // - + 表示匹配一个或多个前面的字符
    // - $ 表示字符串的结束
    const regex = /^[a-zA-Z0-9\u4e00-\u9fa5]+$/;
    console.log(regex.test(str));

    return regex.test(str);
  },


  // 登录请求方法


  // 发送验证码
  getEmilCode: function () {
    wx.request({
      url: 'http://localhost:3000/login/getmailcode', // 请求的接口地址
      method: 'POST', // 请求方式，可以是 GET/POST 等
      data: { // 请求参数
        eMailcode: this.data.emil,
      },

      success(res) {
        console.log(res.data); // 请求成功后的处理
        if (res.data.emaillogincode == 1) {
          Toast.success('获取成功！');
        } else {
          Toast.fail(res.data.message);
        }

      },
      fail(err) {
        wx.showToast({
          title: "请求出错", // 提示信息
          icon: 'none', // 图标类型，可以是 'success', 'loading', 'none'
          duration: 2000 // 提示的延迟时间（毫秒）
        });
        console.error('请求失败:', err); // 请求失败后的处理
      }
    });

  },



  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})